﻿//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
// 此文件由工具自动生成，请勿直接修改。
// 生成时间：2024-12-30 13:47:26.101
//------------------------------------------------------------

using GameFramework;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using UnityEngine;
using UnityGameFramework.Runtime;

namespace ProjectMG
{
    /// <summary>
    /// STRING。
    /// </summary>
    public class DRMonsterAttrExTable : DataRowBase
    {
        private int m_Id = 0;

        /// <summary>
        /// 获取#怪物编号。
        /// </summary>
        public override int Id
        {
            get
            {
                return m_Id;
            }
        }

        /// <summary>
        /// 获取名称（不要超过6个字符）。
        /// </summary>
        public string Name
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取怪物性别。
        /// </summary>
        public int Sex
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取等级。
        /// </summary>
        public int Level
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取友好值。
        /// </summary>
        public int Friendly
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取休闲间隔时间。
        /// </summary>
        public int RelaxTime
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取基础AI（0：主动攻击，会随机移动，可以攻击，还会还击 3：不主动攻击，不随机移动，不可以攻击，不会还击）。
        /// </summary>
        public int BaseAI
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取扩展技能。
        /// </summary>
        public int SkillStrategy
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否为功能NPC（0-否，1-是，服务器不用）。
        /// </summary>
        public int IsNpc_m
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取掉落分配半径。
        /// </summary>
        public int DropRadio
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取掉落最大有效组。
        /// </summary>
        public int Tmp
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取最小伤血百分比。
        /// </summary>
        public float MinBlood
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否可以交互。
        /// </summary>
        public int IsInteraction
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取BOSS标记。
        /// </summary>
        public int IsBoss_m
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取行走速度。
        /// </summary>
        public int MoveSpeed
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取跑步速度。
        /// </summary>
        public int RunSpeed
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取瞬时效果免疫ID。
        /// </summary>
        public int ImmuneMomentID
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取持续效果免疫ID。
        /// </summary>
        public int ImmuneContinueID
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取模型ID。
        /// </summary>
        public int ModelId
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取默认动画。
        /// </summary>
        public string DefaultAnim
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否显示头顶信息 。
        /// </summary>
        public int IsShowHeader
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取转向模式(1为可转向，0为不可转向)。
        /// </summary>
        public int DirType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取名字板高度。
        /// </summary>
        public float NameHeight
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取选中环大小。
        /// </summary>
        public float CircleSize
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取阴影大小。
        /// </summary>
        public float ShadowSize
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取人物头像ID。
        /// </summary>
        public int HeaderID
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取攻击动作时间。
        /// </summary>
        public int AttackTime
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取攻击冷却时间。
        /// </summary>
        public int AttackCD
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取怪物属性表ID。
        /// </summary>
        public int MonsterAttrID
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否在小地图显示。
        /// </summary>
        public int IsInMinimap
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取势力ID。
        /// </summary>
        public int ForceId
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取攻击特性ID。
        /// </summary>
        public int AttackAttribeId
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否攻击NPC。
        /// </summary>
        public int IsAttackNPC
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否播放融合、闪避、阻挡动作。
        /// </summary>
        public int IsPlayAction
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取外观类型。
        /// </summary>
        public int ViewType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取强度类型。
        /// </summary>
        public int IntensityType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取交互方式。
        /// </summary>
        public int InteractiveType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取激活时间。
        /// </summary>
        public int ActiveCD
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取战斗方式。
        /// </summary>
        public int CombatType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取出场动作时间。
        /// </summary>
        public int SpecialActionTime
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取点击出发技能（仅当交互方式为1000是，此列生效）。
        /// </summary>
        public int TriggerSkillID
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取死亡是否可被击飞。
        /// </summary>
        public int HitFly
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取半身像ID。
        /// </summary>
        public int BodyID
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否特殊动作出场。
        /// </summary>
        public int SpecialBirth
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取出场动作参数（结婚用了BP列交互方式1000的时候，这里写96播放采集动作）。
        /// </summary>
        public int SpecialActionID
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取获得结义值。
        /// </summary>
        public int NSwearValue
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否计数。
        /// </summary>
        public int IsCount
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取获得恩爱值。
        /// </summary>
        public int NLoveValue
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取巡航路点停留时，检测的间隔时间。
        /// </summary>
        public int PatrolPointEventInterval
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取默认普攻Id。
        /// </summary>
        public int AtkId
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取npc选中（0为不可选中，1为可选中）。
        /// </summary>
        public int Selectable
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取模型缩放。
        /// </summary>
        public float ModelScale
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取monster type（0为普通，1为佣兵，2宋辽机器人，7小动物，8萌宠，9花轿游街小孩）。
        /// </summary>
        public int MonsterType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取0，NPC类，1，资源类，2，生活技能采集物（渐隐消失）。
        /// </summary>
        public int ResourceType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取脱战后是否恢复血量（0为不恢复，1为恢复）。
        /// </summary>
        public int RecoverHPOutFight
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否显示血条（0为默认血条逻辑，1为血条常显逻辑，2为友军受击后显示血条）。
        /// </summary>
        public int IsShowHp
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否分散。
        /// </summary>
        public int IsDisperse
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否使用人物血条。
        /// </summary>
        public int IsPersonHpType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否受到200号效果逻辑影响。
        /// </summary>
        public int IsValidBuffLogicID200
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否显示目标头像（1显示;0不显示）。
        /// </summary>
        public int IsShowTargetHeadForm
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取机器人扩展技能。
        /// </summary>
        public int RobotSkillStrategy
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取游泳速度。
        /// </summary>
        public int SwimSpeed
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取默认移动状态。
        /// </summary>
        public int DefaultMoveStatu
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取游戏单位优先级。
        /// </summary>
        public int ShowPriority
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取精模显示优先级。
        /// </summary>
        public int SecondShowPriority
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否可显示交互选中效果0不显示，1叹号，2是闪白，4特效显示（名字版选中叹号，闪白，特效）。
        /// </summary>
        public int NPCInterShowType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取NPC交互类型，同类型的NPC由远到近排序。
        /// </summary>
        public int NPCInterType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取多人对话场景摄像机配置参数，读取MonsterLens表里的ID（此列已废弃）。
        /// </summary>
        public int LensParameters
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取扩展普攻Id1。
        /// </summary>
        public int AtkId1
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取扩展普攻Id2。
        /// </summary>
        public int AtkId2
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取全场景可见标记。
        /// </summary>
        public int SceneVisiableFlag
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取全相位可见标记。
        /// </summary>
        public int PeriodVisiableFlag
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否显示当前目标。
        /// </summary>
        public int IsShowTarget
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否在任务对话时隐藏。
        /// </summary>
        public int IsShowMissionDialogue
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否被特定技能过滤。
        /// </summary>
        public int CanBeFiltrateBySkill
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取尸体消失时间（ms）。
        /// </summary>
        public int BodyTime
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取珍兽是否进入此OBJ的仇恨列表。
        /// </summary>
        public int IsAddHateList
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否显示濒死效果。
        /// </summary>
        public int IsNearDeath
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取濒死变色值。
        /// </summary>
        public string NearDeathColor
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取濒死百分比。
        /// </summary>
        public int NearDeathPercent
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取被当做目标时是否显示血量百分比。
        /// </summary>
        public int IsShowHpRate
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否显示在附近列表中。
        /// </summary>
        public int IsShowNearbyMonster
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取出生添加BuffID。
        /// </summary>
        public int BirthAddImpactId
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取自动战斗目标是此怪物时是否执行分散。
        /// </summary>
        public int IsDisperseAsTar
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否显示归属标识。
        /// </summary>
        public int ShowIdentification
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取模型半径。
        /// </summary>
        public float ModelRadius
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取内外功倍数。
        /// </summary>
        public float AttackValue
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取内外防倍数。
        /// </summary>
        public float DefenseValue
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取血量倍数。
        /// </summary>
        public float HPLimitValue
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取经验倍数。
        /// </summary>
        public float ExpValue
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取深水高度偏移。
        /// </summary>
        public float DeepWaterHeight
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取怪物归属类型。
        /// </summary>
        public int OwnerShipType
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取荡寇值。
        /// </summary>
        public int DangKouZhi
        {
            get;
            private set;
        }

        /// <summary>
        /// 获取是否参与经验双倍。
        /// </summary>
        public int IsExpBonuse
        {
            get;
            private set;
        }

        public override bool ParseDataRow(string dataRowString, object userData)
        {
            string[] columnStrings = dataRowString.Split(DataTableExtension.DataSplitSeparators);
            for (int i = 0; i < columnStrings.Length; i++)
            {
                columnStrings[i] = columnStrings[i].Trim(DataTableExtension.DataTrimSeparators);
            }

            int index = 0;
            int? key = null;
            try
            {
                m_Id = int.Parse(columnStrings[index++]);
                key = m_Id;
                Name = columnStrings[index++];
                Sex = int.Parse(columnStrings[index++]);
                Level = int.Parse(columnStrings[index++]);
                Friendly = int.Parse(columnStrings[index++]);
                RelaxTime = int.Parse(columnStrings[index++]);
                BaseAI = int.Parse(columnStrings[index++]);
                SkillStrategy = int.Parse(columnStrings[index++]);
                IsNpc_m = int.Parse(columnStrings[index++]);
                DropRadio = int.Parse(columnStrings[index++]);
                Tmp = int.Parse(columnStrings[index++]);
                MinBlood = float.Parse(columnStrings[index++]);
                IsInteraction = int.Parse(columnStrings[index++]);
                IsBoss_m = int.Parse(columnStrings[index++]);
                MoveSpeed = int.Parse(columnStrings[index++]);
                RunSpeed = int.Parse(columnStrings[index++]);
                ImmuneMomentID = int.Parse(columnStrings[index++]);
                ImmuneContinueID = int.Parse(columnStrings[index++]);
                ModelId = int.Parse(columnStrings[index++]);
                DefaultAnim = columnStrings[index++];
                IsShowHeader = int.Parse(columnStrings[index++]);
                DirType = int.Parse(columnStrings[index++]);
                NameHeight = float.Parse(columnStrings[index++]);
                CircleSize = float.Parse(columnStrings[index++]);
                ShadowSize = float.Parse(columnStrings[index++]);
                HeaderID = int.Parse(columnStrings[index++]);
                AttackTime = int.Parse(columnStrings[index++]);
                AttackCD = int.Parse(columnStrings[index++]);
                MonsterAttrID = int.Parse(columnStrings[index++]);
                IsInMinimap = int.Parse(columnStrings[index++]);
                ForceId = int.Parse(columnStrings[index++]);
                AttackAttribeId = int.Parse(columnStrings[index++]);
                IsAttackNPC = int.Parse(columnStrings[index++]);
                IsPlayAction = int.Parse(columnStrings[index++]);
                ViewType = int.Parse(columnStrings[index++]);
                IntensityType = int.Parse(columnStrings[index++]);
                InteractiveType = int.Parse(columnStrings[index++]);
                ActiveCD = int.Parse(columnStrings[index++]);
                CombatType = int.Parse(columnStrings[index++]);
                SpecialActionTime = int.Parse(columnStrings[index++]);
                TriggerSkillID = int.Parse(columnStrings[index++]);
                HitFly = int.Parse(columnStrings[index++]);
                BodyID = int.Parse(columnStrings[index++]);
                SpecialBirth = int.Parse(columnStrings[index++]);
                SpecialActionID = int.Parse(columnStrings[index++]);
                NSwearValue = int.Parse(columnStrings[index++]);
                IsCount = int.Parse(columnStrings[index++]);
                NLoveValue = int.Parse(columnStrings[index++]);
                PatrolPointEventInterval = int.Parse(columnStrings[index++]);
                AtkId = int.Parse(columnStrings[index++]);
                Selectable = int.Parse(columnStrings[index++]);
                ModelScale = float.Parse(columnStrings[index++]);
                MonsterType = int.Parse(columnStrings[index++]);
                ResourceType = int.Parse(columnStrings[index++]);
                RecoverHPOutFight = int.Parse(columnStrings[index++]);
                IsShowHp = int.Parse(columnStrings[index++]);
                IsDisperse = int.Parse(columnStrings[index++]);
                IsPersonHpType = int.Parse(columnStrings[index++]);
                IsValidBuffLogicID200 = int.Parse(columnStrings[index++]);
                IsShowTargetHeadForm = int.Parse(columnStrings[index++]);
                RobotSkillStrategy = int.Parse(columnStrings[index++]);
                index++;
                SwimSpeed = int.Parse(columnStrings[index++]);
                DefaultMoveStatu = int.Parse(columnStrings[index++]);
                ShowPriority = int.Parse(columnStrings[index++]);
                SecondShowPriority = int.Parse(columnStrings[index++]);
                NPCInterShowType = int.Parse(columnStrings[index++]);
                NPCInterType = int.Parse(columnStrings[index++]);
                LensParameters = int.Parse(columnStrings[index++]);
                AtkId1 = int.Parse(columnStrings[index++]);
                AtkId2 = int.Parse(columnStrings[index++]);
                SceneVisiableFlag = int.Parse(columnStrings[index++]);
                PeriodVisiableFlag = int.Parse(columnStrings[index++]);
                IsShowTarget = int.Parse(columnStrings[index++]);
                IsShowMissionDialogue = int.Parse(columnStrings[index++]);
                CanBeFiltrateBySkill = int.Parse(columnStrings[index++]);
                BodyTime = int.Parse(columnStrings[index++]);
                IsAddHateList = int.Parse(columnStrings[index++]);
                IsNearDeath = int.Parse(columnStrings[index++]);
                NearDeathColor = columnStrings[index++];
                NearDeathPercent = int.Parse(columnStrings[index++]);
                IsShowHpRate = int.Parse(columnStrings[index++]);
                IsShowNearbyMonster = int.Parse(columnStrings[index++]);
                BirthAddImpactId = int.Parse(columnStrings[index++]);
                IsDisperseAsTar = int.Parse(columnStrings[index++]);
                ShowIdentification = int.Parse(columnStrings[index++]);
                ModelRadius = float.Parse(columnStrings[index++]);
                AttackValue = float.Parse(columnStrings[index++]);
                DefenseValue = float.Parse(columnStrings[index++]);
                HPLimitValue = float.Parse(columnStrings[index++]);
                ExpValue = float.Parse(columnStrings[index++]);
                DeepWaterHeight = float.Parse(columnStrings[index++]);
                OwnerShipType = int.Parse(columnStrings[index++]);
                DangKouZhi = int.Parse(columnStrings[index++]);
                IsExpBonuse = int.Parse(columnStrings[index++]);
            }
            catch (Exception e)
            {
                ((DataTableHelper.ParseDataRowError)userData).Set(index, key, e);
                return false;
            }

            return true;
        }

        public override bool ParseDataRow(byte[] dataRowBytes, int startIndex, int length, object userData)
        {
            Tuple<BinaryReader, GameFrameworkFunc<int, string>> tuple = (Tuple<BinaryReader, GameFrameworkFunc<int, string>>)userData;
            BinaryReader binaryReader = tuple.Item1;
            GameFrameworkFunc<int, string> GetString = tuple.Item2;

            m_Id = binaryReader.Read7BitEncodedInt32();
            Name = binaryReader.ParseSystemType<string>();
            Sex = binaryReader.ParseSystemType<int>();
            Level = binaryReader.ParseSystemType<int>();
            Friendly = binaryReader.ParseSystemType<int>();
            RelaxTime = binaryReader.ParseSystemType<int>();
            BaseAI = binaryReader.ParseSystemType<int>();
            SkillStrategy = binaryReader.ParseSystemType<int>();
            IsNpc_m = binaryReader.ParseSystemType<int>();
            DropRadio = binaryReader.ParseSystemType<int>();
            Tmp = binaryReader.ParseSystemType<int>();
            MinBlood = binaryReader.ParseSystemType<float>();
            IsInteraction = binaryReader.ParseSystemType<int>();
            IsBoss_m = binaryReader.ParseSystemType<int>();
            MoveSpeed = binaryReader.ParseSystemType<int>();
            RunSpeed = binaryReader.ParseSystemType<int>();
            ImmuneMomentID = binaryReader.ParseSystemType<int>();
            ImmuneContinueID = binaryReader.ParseSystemType<int>();
            ModelId = binaryReader.ParseSystemType<int>();
            DefaultAnim = binaryReader.ParseSystemType<string>();
            IsShowHeader = binaryReader.ParseSystemType<int>();
            DirType = binaryReader.ParseSystemType<int>();
            NameHeight = binaryReader.ParseSystemType<float>();
            CircleSize = binaryReader.ParseSystemType<float>();
            ShadowSize = binaryReader.ParseSystemType<float>();
            HeaderID = binaryReader.ParseSystemType<int>();
            AttackTime = binaryReader.ParseSystemType<int>();
            AttackCD = binaryReader.ParseSystemType<int>();
            MonsterAttrID = binaryReader.ParseSystemType<int>();
            IsInMinimap = binaryReader.ParseSystemType<int>();
            ForceId = binaryReader.ParseSystemType<int>();
            AttackAttribeId = binaryReader.ParseSystemType<int>();
            IsAttackNPC = binaryReader.ParseSystemType<int>();
            IsPlayAction = binaryReader.ParseSystemType<int>();
            ViewType = binaryReader.ParseSystemType<int>();
            IntensityType = binaryReader.ParseSystemType<int>();
            InteractiveType = binaryReader.ParseSystemType<int>();
            ActiveCD = binaryReader.ParseSystemType<int>();
            CombatType = binaryReader.ParseSystemType<int>();
            SpecialActionTime = binaryReader.ParseSystemType<int>();
            TriggerSkillID = binaryReader.ParseSystemType<int>();
            HitFly = binaryReader.ParseSystemType<int>();
            BodyID = binaryReader.ParseSystemType<int>();
            SpecialBirth = binaryReader.ParseSystemType<int>();
            SpecialActionID = binaryReader.ParseSystemType<int>();
            NSwearValue = binaryReader.ParseSystemType<int>();
            IsCount = binaryReader.ParseSystemType<int>();
            NLoveValue = binaryReader.ParseSystemType<int>();
            PatrolPointEventInterval = binaryReader.ParseSystemType<int>();
            AtkId = binaryReader.ParseSystemType<int>();
            Selectable = binaryReader.ParseSystemType<int>();
            ModelScale = binaryReader.ParseSystemType<float>();
            MonsterType = binaryReader.ParseSystemType<int>();
            ResourceType = binaryReader.ParseSystemType<int>();
            RecoverHPOutFight = binaryReader.ParseSystemType<int>();
            IsShowHp = binaryReader.ParseSystemType<int>();
            IsDisperse = binaryReader.ParseSystemType<int>();
            IsPersonHpType = binaryReader.ParseSystemType<int>();
            IsValidBuffLogicID200 = binaryReader.ParseSystemType<int>();
            IsShowTargetHeadForm = binaryReader.ParseSystemType<int>();
            RobotSkillStrategy = binaryReader.ParseSystemType<int>();
            SwimSpeed = binaryReader.ParseSystemType<int>();
            DefaultMoveStatu = binaryReader.ParseSystemType<int>();
            ShowPriority = binaryReader.ParseSystemType<int>();
            SecondShowPriority = binaryReader.ParseSystemType<int>();
            NPCInterShowType = binaryReader.ParseSystemType<int>();
            NPCInterType = binaryReader.ParseSystemType<int>();
            LensParameters = binaryReader.ParseSystemType<int>();
            AtkId1 = binaryReader.ParseSystemType<int>();
            AtkId2 = binaryReader.ParseSystemType<int>();
            SceneVisiableFlag = binaryReader.ParseSystemType<int>();
            PeriodVisiableFlag = binaryReader.ParseSystemType<int>();
            IsShowTarget = binaryReader.ParseSystemType<int>();
            IsShowMissionDialogue = binaryReader.ParseSystemType<int>();
            CanBeFiltrateBySkill = binaryReader.ParseSystemType<int>();
            BodyTime = binaryReader.ParseSystemType<int>();
            IsAddHateList = binaryReader.ParseSystemType<int>();
            IsNearDeath = binaryReader.ParseSystemType<int>();
            NearDeathColor = binaryReader.ParseSystemType<string>();
            NearDeathPercent = binaryReader.ParseSystemType<int>();
            IsShowHpRate = binaryReader.ParseSystemType<int>();
            IsShowNearbyMonster = binaryReader.ParseSystemType<int>();
            BirthAddImpactId = binaryReader.ParseSystemType<int>();
            IsDisperseAsTar = binaryReader.ParseSystemType<int>();
            ShowIdentification = binaryReader.ParseSystemType<int>();
            ModelRadius = binaryReader.ParseSystemType<float>();
            AttackValue = binaryReader.ParseSystemType<float>();
            DefenseValue = binaryReader.ParseSystemType<float>();
            HPLimitValue = binaryReader.ParseSystemType<float>();
            ExpValue = binaryReader.ParseSystemType<float>();
            DeepWaterHeight = binaryReader.ParseSystemType<float>();
            OwnerShipType = binaryReader.ParseSystemType<int>();
            DangKouZhi = binaryReader.ParseSystemType<int>();
            IsExpBonuse = binaryReader.ParseSystemType<int>();

            return true;
        }

        public int IsValidBuffLogicIDCount
        {
            get
            {
                return 1;
            }
        }

        public int GetIsValidBuffLogicID(int id)
        {
            switch (id)
            {
                case 200:
                    return IsValidBuffLogicID200;

                default:
                    throw new GameLogicException(Utility.Text.Format("GetIsValidBuffLogicID with invalid id '{0}'.", id));
            }
        }

        public int GetIsValidBuffLogicIDAt(int index)
        {
            switch (index)
            {
                case 0:
                    return IsValidBuffLogicID200;

                default:
                    throw new GameLogicException(Utility.Text.Format("GetIsValidBuffLogicIDAt with invalid index '{0}'.", index));
            }
        }

        public int AtkIdCount
        {
            get
            {
                return 2;
            }
        }

        public int GetAtkId(int id)
        {
            switch (id)
            {
                case 1:
                    return AtkId1;

                case 2:
                    return AtkId2;

                default:
                    throw new GameLogicException(Utility.Text.Format("GetAtkId with invalid id '{0}'.", id));
            }
        }

        public int GetAtkIdAt(int index)
        {
            switch (index)
            {
                case 0:
                    return AtkId1;

                case 1:
                    return AtkId2;

                default:
                    throw new GameLogicException(Utility.Text.Format("GetAtkIdAt with invalid index '{0}'.", index));
            }
        }
    }
}
